package cn.zyq.ykb.service.config;

import cn.zyq.ykb.beans.config.ConfigComplaint;
import cn.zyq.ykb.beans.user.User;
import cn.zyq.ykb.system.common.PageParam;
import com.github.pagehelper.PageInfo;

import java.util.List;

/**
 * 配置-投诉建议Service接口
 *
 * @author SystemAuth
 * @date 2023-05-24
 */
public interface ConfigComplaintService {
    /**
     * 查询配置-投诉建议
     *
     * @param configComplaintID 配置-投诉建议主键
     * @return 配置-投诉建议
     */
    ConfigComplaint selectConfigComplaintByConfigComplaintID(Integer configComplaintID);

    /**
     * 查询配置-投诉建议
     *
     * @param serviceID 配置-投诉建议业务ID
     * @return 配置-投诉建议
     */
    ConfigComplaint selectConfigComplaintByServiceID(String serviceID);

    /**
     * 查询配置-投诉建议列表
     *
     * @param pageParam
     * @return 配置-投诉建议集合
     */
    PageInfo<ConfigComplaint> selectConfigComplaintList(PageParam pageParam);

    /**
     * 查询配置-投诉建议列表
     *
     * @param param
     * @return 配置-投诉建议集合
     */
    List<ConfigComplaint> selectConfigComplaintList(ConfigComplaint param);

    /**
     * 新增配置-投诉建议
     *
     * @param param 配置-投诉建议
     * @return 结果
     */
    int insertConfigComplaint(ConfigComplaint param, User loginUser);

    /**
     * 修改配置-投诉建议
     *
     * @param param 配置-投诉建议
     * @return 结果
     */
    int updateConfigComplaint(ConfigComplaint param);

    /**
     * 批量删除配置-投诉建议
     *
     * @param configComplaintIDs 需要删除的配置-投诉建议主键集合
     * @return 结果
     */
    int deleteConfigComplaintByConfigComplaintIDs(Integer[] configComplaintIDs);

    /**
     * 删除配置-投诉建议信息
     *
     * @param configComplaintID 配置-投诉建议主键
     * @return 结果
     */
    int deleteConfigComplaintByConfigComplaintID(Integer configComplaintID);
}
